// pages/campExchange/campExchange.js
const http = require("../../api/communication");
const {
  baseURL
} = require("../../utils/request")
Page({
  /**
   * 页面的初始数据
   */
  data: {
    baseURL,
    userInfo: wx.getStorageSync('userInfo'),
    commList: [],
    showPopup: false,
    newComm: {
      content: '',
      address: ''
    },
    imageList:[]
  },

  //获取交流列表
  getCommunicationList() {
    http.communicationList().then(res => {
      console.log(res.data, "营地交流表");
      if (res.code == 200) {
        const updatedData = res.data.map(item => {
          return {
            ...item,
            expanded: false
          };
        });
        this.setData({
          commList: updatedData
        });
      }
    });
  },

  //获取图片
  getUploadList(e) {
    console.log(e)
    this.setData({
      imageList: e.detail
    })
    console.log('上传的图片：', this.data.imageList);
  },

  toggleContent(e) {
    const id = e.currentTarget.dataset.id;
    const commList = this.data.commList.map((item) => {
      if (item.communicationId === id) {
        item.expanded = !item.expanded;
      }
      return item;
    });
    this.setData({
      commList
    });
  },


  openPopup() {
    this.setData({
      showPopup: true
    });
  },

  closePopup() {
    this.setData({
      showPopup: false
    });
  },

  onInput(e) {
    this.setData({
      'newComm.content': e.detail
    });
  },

  addComm() {
    const { newComm } = this.data;
    if (newComm.content.trim()) {
      var that = this;
      http.addComm({
        userId: this.data.userInfo.userId,
        content: newComm.content,
        address: newComm.address,
        imageList: this.data.imageList.map(image => ({ url: image }))
      }).then((res) => {
        console.log(res);
        if (res.code === 200) {
          wx.showToast({
            title: '发布成功',
            icon: 'success',
            duration: 1500
          })
          that.getCommunicationList()
        } else {
          wx.showToast({
            title: '动态发布失败',
            icon: 'error',
            duration: 1500
          })
        }
      })
      this.setData({
        showPopup: false,
        newComm: {
          content: '',
          address: ''
        }
      });
    } else {
      wx.showToast({
        title: '内容不能为空',
        icon: 'none'
      });
    }
  },

  getAdress(){
    wx.getLocation({
      type: 'gcj02',
      success: (res) => {
        console.log(res,"返回的数据");
        this.setData({
          latitude: res.latitude,
          longitude: res.longitude
        });
        wx.chooseLocation({
          latitude:this.data.latitude,
          longitude:this.data.longitude,
          success: (res) =>{
            console.log("choosLocation返回的数据",res)
            let shengfen = this.getProvinceFromAddress(res.address)
            console.log("省份",this.getProvinceFromAddress(res.address));
            this.setData({
              'newComm.address':shengfen
            })
          }
        })
      }
    })
  },

  getProvinceFromAddress(address) {
    // 地址字符串（示例）
    const addressStr = address;
    // 定义一个包含所有省级名称（包括自治区、直辖市等）的数组
    // 注意：这里只列出了部分示例，实际使用时需要补充完整
    const provinces = [
      '北京市', '天津市', '上海市', '重庆市', '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省',
      '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省',
      '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省', '台湾省',
      '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区',
      '香港特别行政区', '澳门特别行政区'
    ];
   
    // 将地址字符串按空格分割成数组
    const addressParts = addressStr.split(' ');
   
    // 遍历分割后的数组，查找匹配的省级名称
    for (let i = 0; i < addressParts.length; i++) {
      const part = addressParts[i];
      console.log("part", part)
      this.setData({
        locaion:part
      })
      for (let j = 0; j < provinces.length; j++) {
        const item = provinces[j];
        
        if (part.includes(item)) {
          return item; // 找到匹配的省级名称，返回
        }
      }
    }
   
    // 如果没有找到匹配的省级名称，返回null或空字符串
    return null; // 或 return '';
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("this.userInfo:", this.data.userInfo);
    this.getCommunicationList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})